GitHub 您所在的位置:网站首页 python import android GitHub

GitHub

2023-03-24 14:27| 来源: 网络整理| 查看: 265

android-auto-play-opencv

OpenCV の画像認識を使って、Android を自動操作するライブラリです。

Android を操作する時に Android Debug Bridge (adb) を使うので、マウスカーソルが奪われません。

NoxPlayer を操作することも出来ます。

Readme

https://noitalog.tokyo/android-auto-play-opencv/

Installation ライブラリのインストール pip install android-auto-play-opencv このライブラリを使うには、Android SDK Platform-Tools に含まれる adb.exe が必要です。 How to use # This Python file uses the following encoding: utf-8 # pip install android-auto-play-opencv import android_auto_play_opencv as am adbpath = '..\\platform-tools\\' def main(): aapo = am.AapoManager(adbpath) while True: # 画面キャプチャ aapo.screencap() # 早送りボタンは常にタップ if aapo.touchImg('./umamusume/hayaokuri.png'): # タップ出来たら待機 aapo.sleep(1) # Google Playダイアログが出たら、キャンセルの位置をタップ elif aapo.chkImg('./umamusume/google-play.png'): aapo.touchPos(135, 630) aapo.sleep(1) if __name__ == '__main__': main() 完成品 ウマ娘自動リセマラ周回 Reference start

アプリを起動する。

# FGOを起動する. aapo.start('com.aniplex.fategrandorder/jp.delightworks.Fgo.player.AndroidPlugin') end

アプリを終了する。

# FGOを終了する. aapo.end('com.aniplex.fategrandorder') sleep

処理を待機させる。

# 5秒待機. aapo.sleep(5) screencap

Android の画面をキャプチャする。

# 画面キャプチャ aapo.screencap() chkImg

screencap で取得したスクリーンショットに、テンプレート画像があるか確認します。タップはしません。

if aapo.chkImg('./template/stage_clear.png'): # あった時の処理. pass chkImg2

screencap で取得したスクリーンショットに、テンプレート画像があるか確認します。タップはしません。見つけた座標も返してくれます。

# 古龍の心臓 が見つかったら位置を戻す。 result, x, y = aapo.chkImg2('./template/koryunosinzo.png') print('result=' + str(result) + ', x=' + str(x) + ', y=' + str(y)) if result: # 見つかった位置から指定ピクセルズラしてロングタップ(5秒) aapo.longTouchPos(x+50, y+50, 5000)

引数_multiをTrueにすると、複数の結果を返してくれます。

ret, poss = aapo.chkImg2('tenpure.png',_multi = True) if ret: for i in range(len(poss)): pos = poss[i] print(f'X={pos[0]}, Y={pos[1]}') pass pass touchImg

screencap で取得したスクリーンショットに、テンプレート画像があればタップします。タップ結果を返してくれます。

aapo.touchImg('./template/stage_clear.png') touchPos

指定位置をタップします。

# X=750、Y=400 の位置をタップする. aapo.touchPos(750, 400)

第3引数を指定すると、ロングタップします。

# X=750、Y=400 の位置を5秒間タップする. aapo.longTouchPos(750, 400, 5000) swipeTouchPos

指定位置をスワイプします。

# X=750、Y=800 から、X=750、Y=400 まで、1秒かけてスワイプする. aapo.swipeTouchPos(750, 800, 750, 400, 1000) inputtext

文字を入力します。

# abc を入力する. aapo.inputtext('abc') inputkeyevent

HOMEキーやバックキーを送ります。

# ホームキーを押す. aapo.inputkeyevent(3) # バックキーを押す. aapo.inputkeyevent(4) inputkeyevent

screencap で取得したスクリーンショットを保存します。

# キャプチャ画像を保存 aapo.imgSave('screenshot.png') # 現在の日時でキャプチャ画像を保存 aapo.imgSave('img/screenshot_' + datetime.datetime.now().strftime('%Y%m%d%H%M%S') + '.png') # ↑をする場合「import datetime」をファイルの先頭に書くこと。 デバイス選択

複数の端末で同時実行できます。

import inquirer # pip install inquirer aapo = am.AapoManager('C:\\Program Files\\Nox\\bin\\') devicesselect = [ inquirer.List( "device", message="デバイスを選択して下さい。", choices=aapo.adbl.devices ) ] selected = inquirer.prompt(devicesselect) aapo.adbl.setdevice(selected['device']) aapo.screencap()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有